EPD Extension Kit for MSP430 LaunchPad
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Functions
EPD_hardware_gpio.h File Reference

The definition of EPD GPIO pins. More...

#include "Pervasive_Displays_small_EPD.h"

Go to the source code of this file.

Macros

#define _BV(bit)   (1 << (bit))
 
#define _HIGH   1
 
#define _LOW   !_HIGH
 
#define DIR_(x)   x ## DIR
 
#define DIR(x)   (DIR_(x))
 
#define OUT_(x)   x ## OUT
 
#define OUTPORT(x)   (OUT_(x))
 
#define SEL_(x)   x ## SEL
 
#define SEL(x)   (SEL_(x))
 
#define SEL2_(x)   x ## SEL2
 
#define SEL2(x)   (SEL2_(x))
 
#define IN_(x)   x ## IN
 
#define INPORT(x)   (IN_(x))
 
#define REN_(x)   x ## REN
 
#define REN(x)   (REN_(x))
 
#define BITSET(x, y)   ((x) |= (y))
 
#define BITCLR(x, y)   ((x) &= ~(y))
 
#define BITINV(x, y)   ((x) ^= (y))
 
#define config_gpio_dir_o(Port, Pin)   BITSET(DIR (Port), Pin)
 
#define config_gpio_dir_i(Port, Pin)   BITCLR(DIR (Port), Pin)
 
#define set_gpio_high(Port, Pin)   BITSET (OUTPORT (Port), Pin)
 
#define set_gpio_low(Port, Pin)   BITCLR (OUTPORT (Port), Pin)
 
#define set_gpio_invert(Port, Pin)   BITINV(OUTPORT (Port),Pin)
 
#define input_get(Port, Pin)   (INPORT (Port) & Pin )
 
#define Temper_PIN   BIT4
 
#define Temper_PORT   P1
 
#define SPICLK_PIN   BIT5
 
#define SPICLK_PORT   P1
 
#define EPD_BUSY_PIN   BIT0
 
#define EPD_BUSY_PORT   P2
 
#define PWM_PIN   BIT1
 
#define PWM_PORT   P2
 
#define EPD_RST_PIN   BIT2
 
#define EPD_RST_PORT   P2
 
#define EPD_PANELON_PIN   BIT3
 
#define EPD_PANELON_PORT   P2
 
#define EPD_DISCHARGE_PIN   BIT4
 
#define EPD_DISCHARGE_PORT   P2
 
#define EPD_BORDER_PIN   BIT5
 
#define EPD_BORDER_PORT   P2
 
#define SPIMISO_PIN   BIT6
 
#define SPIMISO_PORT   P1
 
#define SPIMOSI_PIN   BIT7
 
#define SPIMOSI_PORT   P1
 
#define Flash_CS_PIN   BIT7
 
#define Flash_CS_PORT   P2
 
#define Flash_CS_PORT_SEL   (SEL (Flash_CS_PORT))
 
#define Flash_CS_PORT_SEL2   (SEL2(Flash_CS_PORT))
 
#define EPD_CS_PIN   BIT6
 
#define EPD_CS_PORT   P2
 
#define CS_PORT_SEL   (SEL (EPD_CS_PORT))
 
#define CS_PORT_SEL2   (SEL2(EPD_CS_PORT))
 

Functions

bool EPD_IsBusy (void)
 Get BUSY pin status.
 
void EPD_cs_high (void)
 Set EPD_CS pin to high.
 
void EPD_cs_low (void)
 Set EPD_CS pin to low.
 
void EPD_flash_cs_high (void)
 Set Flash_CS pin to high.
 
void EPD_flash_cs_low (void)
 Set Flash_CS pin to low.
 
void EPD_rst_high (void)
 Set /RESET pin to high.
 
void EPD_rst_low (void)
 Set /RESET pin to low.
 
void EPD_discharge_high (void)
 Set DISCHARGE pin to high.
 
void EPD_discharge_low (void)
 Set DISCHARGE pin to low.
 
void EPD_Vcc_turn_off (void)
 Set Vcc (PANEL_ON) to low.
 
void EPD_Vcc_turn_on (void)
 Set Vcc (PANEL_ON) to high.
 
void EPD_border_high (void)
 Set BORDER_CONTROL pin to high.
 
void EPD_border_low (void)
 Set BORDER_CONTROL pin to low.
 
void EPD_pwm_low (void)
 Set PWM pin to low.
 
void EPD_pwm_high (void)
 Set PWM pin to high.
 
void SPIMISO_low (void)
 Set MISO pin of SPI to low.
 
void SPIMOSI_low (void)
 Set MOSI pin of SPI to low.
 
void SPICLK_low (void)
 Set Clock of SPI to low.
 
void EPD_initialize_gpio (void)
 Configure GPIO.
 

Detailed Description

The definition of EPD GPIO pins.

Copyright (c) 2012-2013 Pervasive Displays Inc. All rights reserved.

Authors: Pervasive Displays Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Macro Definition Documentation

#define _BV (   bit)    (1 << (bit))

left shift 1 bit

#define _HIGH   1

signal high

#define _LOW   !_HIGH

signal low

#define config_gpio_dir_i (   Port,
  Pin 
)    BITCLR(DIR (Port), Pin)

set input direction for an IOPORT pin

#define config_gpio_dir_o (   Port,
  Pin 
)    BITSET(DIR (Port), Pin)

set output direction for an IOPORT pin

#define EPD_BORDER_PORT   P2

LaunchPad P2.5

#define EPD_BUSY_PORT   P2

LaunchPad P2.0

#define EPD_CS_PORT   P2

LaunchPad P2.6

#define EPD_DISCHARGE_PORT   P2

LaunchPad P2.4

#define EPD_PANELON_PORT   P2

LaunchPad P2.3

#define EPD_RST_PORT   P2

LaunchPad P2.2

#define Flash_CS_PORT   P2

LaunchPad P2.7

#define input_get (   Port,
  Pin 
)    (INPORT (Port) & Pin )

get current value of an IOPORT pin

#define PWM_PORT   P2

LaunchPad P2.1

#define set_gpio_high (   Port,
  Pin 
)    BITSET (OUTPORT (Port), Pin)

set HIGH for an IOPORT pin

#define set_gpio_invert (   Port,
  Pin 
)    BITINV(OUTPORT (Port),Pin)

toggle the value of an IOPORT pin

#define set_gpio_low (   Port,
  Pin 
)    BITCLR (OUTPORT (Port), Pin)

set LOW for an IOPORT pin

#define SPICLK_PORT   P1

LaunchPad P1.5

#define SPIMISO_PORT   P1

LaunchPad P1.6

#define SPIMOSI_PORT   P1

LaunchPad P1.7

#define Temper_PORT   P1

LaunchPad P1.4